package com.hearwego.utilities;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;

public class HWGSQLiteHelper extends SQLiteOpenHelper {
 
    //Sentencia SQL para crear la tabla de Usuarios
    String sqlCreate = "CREATE TABLE Notas (id INTEGER PRIMARY KEY, nota TEXT)";
    String sqlCreateLista = "CREATE TABLE Lista (idlista INTEGER PRIMARY KEY, lista TEXT)";
    String sqlCreateGastos = "CREATE TABLE Gastos " +
    				"(idgasto INTEGER PRIMARY KEY,idlista INTEGER, gasto TEXT, cantidad TEXT, fechahora TEXT)";


 
    public HWGSQLiteHelper(Context contexto, String nombre,
                               CursorFactory factory, int version) {
        super(contexto, nombre, factory, version);
    }
 
    @Override
    public void onCreate(SQLiteDatabase db) {
        //Se ejecuta la sentencia SQL de creación de la tabla
        db.execSQL(sqlCreate);
        db.execSQL(sqlCreateLista);
        db.execSQL(sqlCreateGastos);

    }
 
    @Override
    public void onUpgrade(SQLiteDatabase db, int versionAnterior, int versionNueva) {
        //NOTA: Por simplicidad del ejemplo aquí utilizamos directamente la opción de
        //      eliminar la tabla anterior y crearla de nuevo vacía con el nuevo formato.
        //      Sin embargo lo normal será que haya que migrar datos de la tabla antigua
        //      a la nueva, por lo que este método debería ser más elaborado.
 
        //Se elimina la versión anterior de la tabla
        db.execSQL("DROP TABLE IF EXISTS Notas");
        db.execSQL("DROP TABLE IF EXISTS Lista");
        db.execSQL("DROP TABLE IF EXISTS Gastos");

 
        //Se crea la nueva versión de la tabla
        db.execSQL(sqlCreate);
        db.execSQL(sqlCreateLista);
        db.execSQL(sqlCreateGastos);

    }
}